Convert Binary Number to Decimal and vice-versa using C++

04-11-17 Course- CPP

This program converts either binary number entered by user to decimal number or decimal number entered by user to binary number in accordance with the character entered by user.

Source Code to Convert Either Binary Number to Decimal or Decimal Number to Binary


/* C++ programming source code to convert either binary to decimal or decimal to binary according to data entered by user. */

#include <iostream>
#include <cmath>
using namespace std;
int binary_decimal(int n);
int decimal_binary(int n);
int main()
{
   int n;
   char c;
   cout << "Instructions: " << endl;
   cout << "1. Enter alphabet 'd' to convert binary to decimal." << endl;
   cout << "2. Enter alphabet 'b' to convert decimal to binary." << endl;
   cin >> c;
   if (c =='d' || c == 'D')
   {
       cout << "Enter a binary number: ";
       cin >> n;
       cout << n << " in binary = " << binary_decimal(n) << " in decimal";
   }
   if (c =='b' || c == 'B')
   {
       cout << "Enter a binary number: ";
       cin >> n;
       cout << n << " in decimal = " << decimal_binary(n) << " in binary";
   }
   return 0;
}

int decimal_binary(int n)  /* Function to convert decimal to binary.*/
{
    int rem, i=1, binary=0;
    while (n!=0)
    {
        rem=n%2;
        n/=2;
        binary+=rem*i;
        i*=10;
    }
    return binary;
}

int binary_decimal(int n) /* Function to convert binary to decimal.*/
{
    int decimal=0, i=0, rem;
    while (n!=0)
    {
        rem = n%10;
        n/=10;
        decimal += rem*pow(2,i);
        ++i;
    }
    return decimal;
}

Output


Instructions:
1. Enter alphabet 'd' to convert binary to decimal.
2. Enter alphabet 'b' to convert decimal to binary.
d
Enter a binary number: 110111
110111 in binary = 55 in decimal

This program asks user to enter alphabet 'b' to convert decimal number to binary and alphabet 'd' to convert binary number to decimal. In accordance with the character entered, user is asked to enter either binary value to convert to decimal or decimal value to convert to binary.

To perform conversion, two functions are made decimal_binary(); to convert decimal to binary and binary_decimal(); to convert binary to decimal. Decimal number entered by user is passed to decimal_binary() and this function computes the binary value of that number and returns it main() function. Similarly, binary number is passed to function binary_decimal() and this function computes decimal value of that number and returns it to main() function.